package com.chapter07.dao;

import com.pojo.Customers;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;

/**
 * 这个接口是对customers表的常规操作（通用操作）
 * 增
 * 删
 * 改
 * 查：查询所有，根据主键进行查询
 */
public interface CustomersDao {
    /**
     * 往数据库中插入一条记录
     * @param connection 连接对象
     * @param customers 要插入数据的对象
     * @return
     */
    int insert(Connection connection, Customers customers) throws SQLException;

    /**
     * 根据主键删除一条记录
     * @param connection
     * @param id
     * @return
     */
    int deleteById(Connection connection, int id) throws SQLException;

    /**
     * 根据主键修改一条记录
     * @param connection
     * @param customers
     */
    void update(Connection connection,Customers customers) throws SQLException;

    /**
     * 查询customers表所有的数据
     * @param connection
     * @return
     */
    List<Customers> getAll(Connection connection);

    /**
     * 根据id查询一个Customers对象
     * @param connection
     * @param id
     * @return
     */
    Customers getCustomersById(Connection connection,int id) throws InstantiationException, IllegalAccessException;

}
